<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"	
	template="/pages/plantilla.xhtml">
	
	<ui:define name="title">SISPAGOS | Recaudacion</ui:define>
	<ui:define name="contenido" >
	<f:view>
		<h:form id="myform" prependId="false" enctype="multipart/form-data">
		<style>
		.ui-autocomplete .ui-inputfield {
		clear: left;
		cursor: text;
		list-style-type: none;
		margin: 0;
		min-height: 1px;
		overflow: hidden;
		width: 450px;
		}
		</style>
          <table style="width:100%">
          <tr>
          <td align="left">
   	    	<p:commandButton value="Subir Recaudacion en Excel" oncomplete="wdlgXls.show();" update=":myform:opDlg"
			action="#{recaudacionController.cargarDlgSubirExcel}"/></td>
          <td align="right">
		  <h:selectOneMenu value="#{recaudacionController.anioSeleccionado}" style="width:80px" disabled="false" >
			<f:selectItem itemLabel="1996" itemValue="1996"/>
			<f:selectItem itemLabel="1997" itemValue="1997"/>
			<f:selectItem itemLabel="1998" itemValue="1998"/>
			<f:selectItem itemLabel="1999" itemValue="1999"/>
			<f:selectItem itemLabel="2000" itemValue="2000"/>
			<f:selectItem itemLabel="2001" itemValue="2001"/>
			<f:selectItem itemLabel="2002" itemValue="2002"/>
			<f:selectItem itemLabel="2003" itemValue="2003"/>
			<f:selectItem itemLabel="2004" itemValue="2004"/>
			<f:selectItem itemLabel="2005" itemValue="2005"/>
			<f:selectItem itemLabel="2006" itemValue="2006"/>
			<f:selectItem itemLabel="2007" itemValue="2007"/>
			<f:selectItem itemLabel="2008" itemValue="2008"/>
			<f:selectItem itemLabel="2009" itemValue="2009"/>
			<f:selectItem itemLabel="2010" itemValue="2010"/>
			<f:selectItem itemLabel="2011" itemValue="2011"/>
			<f:selectItem itemLabel="2012" itemValue="2012"/>
			<f:selectItem itemLabel="2013" itemValue="2013"/>
			<f:selectItem itemLabel="2014" itemValue="2014"/>
			<f:ajax listener="#{recaudacionController.listarRecaudacion}" render=":myform:tabView"/>
		  </h:selectOneMenu>
          <h:selectOneMenu value="#{recaudacionController.mesSeleccionado}" style="width:120px" disabled="false">
			<f:selectItems value="#{loginController.listaMeses}"/>
			<f:ajax listener="#{recaudacionController.listarRecaudacion}" render=":myform:tabView"/>
		  </h:selectOneMenu>
		  </td>
		  <td align="right" valign="top">
		  </td>
		  </tr>
		  </table>
				<p:tabView id="tabView">    
				    <p:tab id="tab1" title="Vouchers a Examinar">
				    	<p:commandButton icon="ui-icon-trash" title="Eliminar Voucher Seleccionado" oncomplete="dlgElimVoucher.show();"
				    	>
				    	</p:commandButton>
				    	<p:commandButton icon="ui-icon-plus" title="Nuevo Voucher" oncomplete="dlgNuevoVoucher.show();"
				    	actionListener="#{recaudacionController.inicializarVoucherEditarFV}" update=":myform:opNewVoucher"/>
				    	<ui:repeat var="pagina" value="#{recaudacionController.paginasFilasValidas}">
				    	<p:commandLink action="#{recaudacionController.cargarPaginaFV}" update=":myform:tabView" 
				    	style="background-color:#{recaudacionController.paginaActFV==pagina?'gray':''}">#{pagina}
				    	<f:setPropertyActionListener target="#{recaudacionController.paginaActFV}" value="#{pagina}"/>
				    	</p:commandLink>
				    	<p:spacer width="5px"/>
				    	</ui:repeat>
				    	<DIV style="width:100%;height:400px; overflow:scroll;">
									  <p:dataTable id="dtExcel" value="#{recaudacionController.listFilasExcelRegPaginaActual}" var="filExc"
									  selection="#{recaudacionController.filaExcelValidoSeleccionado}" rowKey="#{filExc.idFilaExcelRec}">
									  <p:column selectionMode="single" style="width:2%" />
									  <p:column>
									  <f:facet name="header">Moneda</f:facet>
									  <h:outputText value="#{filExc.codigoMoneda}"/>
									  </p:column>
									  <p:column>
									  <f:facet name="header">Dependencia</f:facet>
									  #{filExc.nombreDependencia}
									  </p:column>
									  <p:column>
									  <f:facet name="header">Cpto. Pago</f:facet>
									  #{filExc.descConceptoPago}
									  </p:column>
									  <p:column>
									  <f:facet name="header">a.</f:facet>
									  #{filExc.codigoDependencia}
									  </p:column>
									  <p:column>
									  <f:facet name="header">b</f:facet>
									  #{filExc.codigoConceptoPago}
									  </p:column>
									  <p:column>
									  <f:facet name="header"># voucher</f:facet>
									  #{filExc.numeroVoucherPago}
									  </p:column>
									  <p:column>
									  <f:facet name="header">Cod. Alumno</f:facet>
									  #{filExc.codigoAlumno}
									  </p:column>
									  <p:column>
									  <f:facet name="header">Nombre Alumno</f:facet>
									  #{filExc.nombreAlumno}
									  </p:column>		  
									  <p:column>
									  <f:facet name="header">Importe Voucher</f:facet>
									  #{filExc.importeVoucherPago}
									  </p:column>		  
									  <p:column>
									  <f:facet name="header">Carnet</f:facet>
									  #{filExc.importeCarnet}
									  </p:column>		  
									  <p:column>
									  <f:facet name="header">AutoSeguro</f:facet>
									  #{filExc.importeAutoseguro}
									  </p:column>
									  <p:column>
									  <f:facet name="header">AVE</f:facet>
									  #{filExc.importeAVE}
									  </p:column>
									  <p:column>
									  <f:facet name="header">Dev/Transf.</f:facet>
									  #{filExc.importeDevolucionTransf}
									  </p:column>  
									  <p:column>
									  <f:facet name="header">Observacion</f:facet>
									  #{filExc.observacionVoucherPago}
									  </p:column>
									  <p:column>
									  <f:facet name="header">Fecha Voucher</f:facet>
									  #{filExc.fechaVoucherPago}
									  </p:column>
									  </p:dataTable>
							</DIV>
				    </p:tab>  
				  
				    <p:tab id="tab2" title="Vouchers con Alumnos Invalidos">	
				    	<ui:repeat var="pagina" value="#{recaudacionController.paginasFilasAlusNoExists}">
				    	<p:commandLink action="#{recaudacionController.cargarPaginaANE}" update=":myform:tabView"
				    	style="background-color:#{recaudacionController.paginaActANE==pagina?'gray':''}">#{pagina}
				    	<f:setPropertyActionListener target="#{recaudacionController.paginaActANE}" value="#{pagina}"/>
				    	</p:commandLink>
				    	<p:spacer width="5px"/>
				    	</ui:repeat>
				    	<DIV style="width:100%;height:400px; overflow:scroll;">				  
							  <p:dataTable id="dtExcelAlu" value="#{recaudacionController.listFilasExcelAlusNoExistPaginaActual}" var="filExc" 
							  selection="#{recaudacionController.filaExcelAlumNoExistSeleccionado}" selectionMode="single" rowKey="#{filExc.idFilaExcelRec}">
							  <p:ajax event="rowSelect" listener="#{recaudacionController.onRowSelectANE}"   
                  					update=":myform:opFila" oncomplete="filaDialog.show()" /> 
							  <p:column headerText="Moneda" footerText="Moneda">
							  <h:outputText value="#{filExc.codigoMoneda}"/>
							  </p:column>
							  <p:column headerText="Dependencia" footerText="Dependencia">
							  <h:outputText value="#{filExc.nombreDependencia}"/>
							  </p:column>
							  <p:column headerText="Cpto Pago" footerText="Cpto Pago">
							  <h:outputText value="#{filExc.descConceptoPago}"/>
							  </p:column>
							  <p:column headerText="a" footerText="a">
							  <h:outputText value="#{filExc.codigoDependencia}"/>
							  </p:column>
							  <p:column headerText="b" footerText="b">
							  <h:outputText value="#{filExc.codigoConceptoPago}"/>
							  </p:column>
							  <p:column headerText="Voucher" footerText="Voucher">
							  <h:outputText value="#{filExc.numeroVoucherPago}"/>
							  </p:column>
							  <p:column headerText="Cod. Alumno" footerText="Cod. Alumno">
							  <h:outputText value="#{filExc.codigoAlumno}"/>
							  </p:column>
							  <p:column headerText="Nombre Alumno" footerText="Nombre Alumno">
							  <h:outputText value="#{filExc.nombreAlumno}"/>
							  </p:column>		  
							  <p:column headerText="Importe Voucher" footerText="Importe Voucher">
							  <h:outputText value="#{filExc.importeVoucherPago}"/>
							  </p:column>		  
							  <p:column headerText="Carnet" footerText="Carnet">
							  <h:outputText value="#{filExc.importeCarnet}"/>
							  </p:column>		  
							  <p:column headerText="AutoSeguro" footerText="AutoSeguro">
							  <h:outputText value="#{filExc.importeAutoseguro}"/>
							  </p:column>
							  <p:column headerText="AVE" footerText="AVE">
							  <h:outputText value="#{filExc.importeAVE}"/>
							  </p:column>
							  <p:column headerText="Dev/Transf" footerText="Dev/Transf">
							  <h:outputText value="#{filExc.importeDevolucionTransf}"/>
							  </p:column>  
							  <p:column headerText="Observacion" footerText="Observacion">
							  <h:outputText value="#{filExc.observacionVoucherPago}"/>
							  </p:column>
							  <p:column headerText="Fecha" footerText="Fecha">
							  <h:outputText value="#{filExc.fechaVoucherPago}"/>
							  </p:column>
							  </p:dataTable> 
							</DIV>
				    </p:tab>  
				    <p:tab id="tab3" title="Vouchers con Conceptos Invalidos">	
				    	<ui:repeat var="pagina" value="#{recaudacionController.paginasFilasCptosNoExists}">
				    	<p:commandLink action="#{recaudacionController.cargarPaginaCNE}" update=":myform:tabView"
				    	style="background-color:#{recaudacionController.paginaActCNE==pagina?'gray':''}">#{pagina}
				    	<f:setPropertyActionListener target="#{recaudacionController.paginaActCNE}" value="#{pagina}"/>
				    	</p:commandLink>
				    	<p:spacer width="5px"/>
				    	</ui:repeat>
				    	<DIV style="width:100%;height:400px; overflow:scroll;">				  
							  <p:dataTable id="dtExcelCpto" value="#{recaudacionController.listFilasExcelCptoNoExistPaginaActual}" var="filExc"
							  selection="#{recaudacionController.filaExcelCptoExistSeleccionado}" selectionMode="single" rowKey="#{filExc.idFilaExcelRec}">
							  <p:ajax event="rowSelect" listener="#{recaudacionController.onRowSelectCNE}"   
                  					update=":myform:opFilaCpto" oncomplete="filaCptoDialog.show()" /> 
							  <p:column headerText="Moneda" footerText="Moneda">
							  <h:outputText value="#{filExc.codigoMoneda}"/>
							  </p:column>
							  <p:column headerText="Dependencia" footerText="Dependencia">
							  <h:outputText value="#{filExc.nombreDependencia}"/>
							  </p:column>
							  <p:column headerText="Cpto Pago" footerText="Cpto Pago">
							  <h:outputText value="#{filExc.descConceptoPago}"/>
							  </p:column>
							  <p:column headerText="a" footerText="a">
							  <h:outputText value="#{filExc.codigoDependencia}"/>
							  </p:column>
							  <p:column headerText="b" footerText="b">
							  <h:outputText value="#{filExc.codigoConceptoPago}"/>
							  </p:column>
							  <p:column headerText="Voucher" footerText="Voucher">
							  <h:outputText value="#{filExc.numeroVoucherPago}"/>
							  </p:column>
							  <p:column headerText="Cod. Alumno" footerText="Cod. Alumno">
							  <h:outputText value="#{filExc.codigoAlumno}"/>
							  </p:column>
							  <p:column headerText="Nombre Alumno" footerText="Nombre Alumno">
							  <h:outputText value="#{filExc.nombreAlumno}"/>
							  </p:column>		  
							  <p:column headerText="Importe Voucher" footerText="Importe Voucher">
							  <h:outputText value="#{filExc.importeVoucherPago}"/>
							  </p:column>		  
							  <p:column headerText="Carnet" footerText="Carnet">
							  <h:outputText value="#{filExc.importeCarnet}"/>
							  </p:column>		  
							  <p:column headerText="AutoSeguro" footerText="AutoSeguro">
							  <h:outputText value="#{filExc.importeAutoseguro}"/>
							  </p:column>
							  <p:column headerText="AVE" footerText="AVE">
							  <h:outputText value="#{filExc.importeAVE}"/>
							  </p:column>
							  <p:column headerText="Dev/Transf" footerText="Dev/Transf">
							  <h:outputText value="#{filExc.importeDevolucionTransf}"/>
							  </p:column>  
							  <p:column headerText="Observacion" footerText="Observacion">
							  <h:outputText value="#{filExc.observacionVoucherPago}"/>
							  </p:column>
							  <p:column headerText="Fecha" footerText="Fecha">
							  <h:outputText value="#{filExc.fechaVoucherPago}"/>
							  </p:column>
							  </p:dataTable> 
							</DIV>
				    </p:tab> 
				</p:tabView>  
	
	<p:dialog widgetVar="wdlgXls" visible="#{recaudacionController.dlgExcelVisible}" header="Subir Excel">
		<p:outputPanel id="opDlg">
		<p><h:outputText value="El sistema esta configurado para soportar maximo 3000 filas por archivo excel y en una sola hoja(Por seguridad)."/> </p>
		<p:fileUpload value="#{recaudacionController.file}" mode="simple" oncomplete="wdlgXls.show();" />
		<p:commandButton value="Validar" actionListener="#{recaudacionController.upload}" ajax="false" 
		update=":myform:opDlg" rendered="#{!recaudacionController.grabarExcel}"/>
		<p:commandButton value="Subir Excel" actionListener="#{recaudacionController.guardarExcel}" ajax="true" 
		update=":myform:tabView" rendered="#{recaudacionController.grabarExcel}"
		oncomplete="wdlgXls.hide();"/>
		<h:outputText id="otmsje" value="#{recaudacionController.msje}"/>
		</p:outputPanel>
	</p:dialog>
	
	<p:dialog widgetVar="filaDialog" modal="true" header="Editar Codigo Alumno">
		<p:outputPanel id="opFila">
		<table>
		<tr><td colspan="2">
        <p:commandButton title="Guardar Cambios" actionListener="#{recaudacionController.guardarFilaExcelANE}" 
        oncomplete="filaDialog.hide();" update=":myform:tabView:dtExcelAlu" icon="ui-icon-disk" /><p:spacer width="20px"/>
        <p:commandButton title="Nuevo Alumno" icon="ui-icon-document" oncomplete="dlgAlumno.show();" 
        actionListener="#{manteAlumnoController.nuevoAlumno}" update=":formMenu:opAlumno"/></td></tr>
		<tr><td colspan="2" align="center">
		<span class="#{recaudacionController.labelAlumno}">
		<h:outputText value="#{recaudacionController.msjeAlumno}"/>
		</span>
		</td></tr>
		<tr><td><h:outputText value="Alumno"/></td>
		<td><p:autoComplete id="acSimple" value="#{recaudacionController.filaExcelANEEditar.nombreAlumno}" scrollHeight="100"
            completeMethod="#{recaudacionController.completarAlumno}" minQueryLength="4" title="Ingresar minimo 4 caracteres">
			<p:ajax event="itemSelect" listener="#{recaudacionController.asignarCodAlumno}" update=":myform:opFila" />
			</p:autoComplete>
        </td><td>
        </td></tr>
		</table>
		</p:outputPanel>
	</p:dialog>
	
	<p:dialog widgetVar="filaCptoDialog" header="Editar Concepto de Pago" modal="true">
		<p:outputPanel id="opFilaCpto">
			<table>
			<tr><td colspan="2">
	        <p:commandButton title="Guardar Cambios" actionListener="#{recaudacionController.guardarFilaExcelCNE}" 
	        oncomplete="filaCptoDialog.hide();" update=":myform:tabView:dtExcelCpto" icon="ui-icon-disk" /><p:spacer width="20px"/>
	        <p:commandButton title="Nuevo Concepto" icon="ui-icon-document" oncomplete="dlgCpto.show();"
	        actionListener="#{manteConceptoController.nuevoCpto}"/>
	        </td></tr>
			<tr><td colspan="2" align="center">
			<span class="#{recaudacionController.labelCpto}">
			<h:outputText value="#{recaudacionController.msjeCpto}"/>
			</span>
			</td></tr>
			<tr><td><h:outputText value="Concepto"/></td>
			<td><p:autoComplete id="acSimpleCNE" value="#{recaudacionController.autoCompleteCNEE}" scrollHeight="100"   
	            completeMethod="#{recaudacionController.completarCptoPago}" minQueryLength="1" title="Ingresar minimo 4 caracteres">
					<p:ajax event="itemSelect" listener="#{recaudacionController.asignarCodCpto}" update=":myform:opFilaCpto" />
				</p:autoComplete>
	        </td><td>
	        </td></tr>
			</table>
		</p:outputPanel>
	</p:dialog>
	
	<p:dialog widgetVar="dlgElimVoucher" header="Eliminar Voucher Validado" modal="true" dynamic="true">
	<p:outputPanel id="opVouVal">
	<table>
		<tr><td colspan="2">
		<p:commandButton icon="ui-icon-trash" title="Eliminar voucher validado" value="Eliminar Voucher permanentemente" 
		oncomplete="dlgElimVoucher.hide();" actionListener="#{recaudacionController.eliminarFilaValida}" update=":myform:tabView"/>
		</td></tr>
	</table>
	</p:outputPanel>
	</p:dialog>	
	
	<p:dialog widgetVar="dlgNuevoVoucher" header="Ingresar nuevo Voucher" modal="true">
		<p:outputPanel id="opNewVoucher">
		<p:focus context="opNewVoucher"/> 
		<table>
		<tr><td colspan="2">
		<p:commandButton icon="ui-icon-disk" title="Guardar Voucher" actionListener="#{recaudacionController.guardarVoucherFV}"
		update="opNewVoucher" tabindex="7"/>
		<span class="#{recaudacionController.labelVoucherEditarFV}"><h:outputText value="#{recaudacionController.msjevoucherFV}"/>
		</span>
		</td></tr>
		<tr><td align="right"><h:outputText value="Cpto. Pago:"/></td>
		<td>
		<p:inputText id="acSimple3" value="#{recaudacionController.filaExcelValidoEditar.codigoConceptoPago}" tabindex="1" style="width:50px">
		<p:ajax event="keyup" update="out1" listener="#{recaudacionController.obtenerNomCpto}" /> 
		</p:inputText><h:outputText id="out1" value="#{recaudacionController.autoCompleteNomCptoFV}"/><p:spacer width="10px"/>
		<p:commandButton title="Nuevo Concepto" icon="ui-icon-document" oncomplete="dlgCpto.show();"
	        actionListener="#{manteConceptoController.nuevoCpto}" update=":formMenu:opCpto"/>
		</td></tr>
		<tr><td align="right"><h:outputText value="Nro. Voucher:"/></td>
		<td><h:inputText id="numVou" value="#{recaudacionController.filaExcelValidoEditar.numeroVoucherPago}" 
		tabindex="2">
		<f:validateLength maximum="20"/>
		<f:validateRequired/>
		</h:inputText><h:message for="numVou"/>
		</td></tr>
		<tr><td align="right"><h:outputText value="Monto:"/></td>
		<td><h:inputText value="#{recaudacionController.filaExcelValidoEditar.importeVoucherPago}" tabindex="3"/></td></tr>
		<tr><td align="right"><h:outputText value="Alumno:"/></td>
		<td><p:autoComplete id="acSimple2" value="#{recaudacionController.filaExcelValidoEditar.nombreAlumno}" tabindex="4" scrollHeight="100"
                   completeMethod="#{recaudacionController.completarAlumno}" minQueryLength="4" title="Ingresar minimo 4 caracteres" />
		</td></tr>
		<tr><td align="right"><h:outputText value="Fecha Voucher:"/></td>
		<td>#{recaudacionController.anioSeleccionado}/#{recaudacionController.mesSeleccionado}/<h:inputText id="inputfech" 
		value="#{recaudacionController.filaExcelValidoEditar.fechaVoucherPago}" tabindex="5">
		<f:validateLength maximum="2" /> 
		</h:inputText><h:message for="inputfech"/>
		</td></tr>
		<tr><td align="right"><h:outputText value="Observacion:"/></td>
		<td><h:inputTextarea value="#{recaudacionController.filaExcelValidoEditar.observacionVoucherPago}" tabindex="6"/></td></tr>
		</table>
		</p:outputPanel>
	</p:dialog>
	
 	</h:form>
 	</f:view>
	</ui:define>
</ui:composition>